/**
* @file         algori_drtuning.h
* @author       LDRobot (support@ldrobot.com)
* @brief         
* @version      0.1
* @date         2022.07.27
* @note          
* @copyright    Copyright (c) 2022  SHENZHEN LDROBOT CO., LTD. All rights reserved.
**/

#ifndef __ALGORI_DRTUNING_H__
#define __ALGORI_DRTUNING_H__

#include <opencv2/opencv.hpp>
#include <iostream>
#include <algorithm>

#define SHOW_CIR (0)
#define SHOW_LINE (1)
#define SHOW_AYS (1)

class AlgoriDrtuning {
public:
  explicit AlgoriDrtuning();
  ~AlgoriDrtuning();
  bool laserSensorSiteAnalysis(cv::Mat& src, cv::Mat& dst);
private:
  cv::Point getGrayCenter(cv::Mat& img_gray); // // 灰度重心法1
  void centerCircleAnalysis(cv::Mat& src_gray_image, cv::Vec3f& out_cir);
  size_t edgeLinesAnalysis(cv::Mat& src_gray_image, 
                         int cir_x,
                         int cir_y,
                         int cir_radius,
                        std::vector<cv::Vec2f>& out_lines);
};






#endif //__ALGORI_DRTUNING_H__
/********************* (C) COPYRIGHT SHENZHEN LDROBOT CO., LTD *******END OF FILE ********/
